
using System.Xml.Linq;

namespace Data
{
    public class Define
    {
        public string defName;
        public string label;
        public string discription;
        /// <summary>
        /// 初始化方法，根据传入的 XML 元素 (<paramref name="xmlDef"/>) 进行处理。
        /// </summary>
        /// <param name="xmlDef">包含定义信息的 XML 元素。</param>
        /// <returns>
        /// 返回一个布尔值：
        /// - 如果返回 <c>false</c>，表示按照默认方式处理（依次对 XML 进行变量名识别和赋值）。
        /// - 如果返回 <c>true</c>，表示使用自定义方式处理，不进行额外的默认处理。
        /// </returns>
        /// <remarks>
        /// <para>
        /// 该方法的基类实现会自动识别并处理以下三个变量：
        /// - <c>defName</c>
        /// - <c>label</c>
        /// - <c>description</c>
        /// </para>
        /// <para>
        /// 如果需要覆盖默认行为，可以在派生类中重写此方法，并返回 <c>true</c> 
        /// 以指示框架跳过默认处理逻辑。
        /// </para>
        /// </remarks>
        public virtual bool Init(XElement xmlDef)
        {
            defName = xmlDef.Element("defName")?.Value;
            label = xmlDef.Element("label")?.Value;
            discription = xmlDef.Element("discription")?.Value;
            return false;
        }
    }

}